NetSuite ↔ Shopify on Celigo

NetSuite Shopify integration on Celigo — when manual order sync stops being an option

At a certain order volume, copying Shopify orders into NetSuite by hand — or running nightly CSV exports — starts costing real money in errors and staff time. Entech builds Celigo integrations that automate the full Shopify–NetSuite data flow: orders, inventory, customers, fulfillment status, and refunds. Including the cases where the pre-built connector needs custom logic for your specific setup.

Talk to an integration expert
What you get

What this integration does

The core outcome: orders placed in Shopify reach NetSuite automatically, inventory levels in NetSuite stay accurate in Shopify, and fulfillment data flows back without a manual step.

Shopify
Order placed
NetSuite
Sales Order or Cash Sale created in near real time
NetSuite
Inventory quantities
Shopify
Pushed on schedule to prevent overselling
Both systems
Customer records
Sync rules
Kept consistent between both systems
NetSuite
Fulfillment and tracking data
Shopify
Pushed back to trigger customer shipping notifications
Shopify
Refunds
NetSuite
Correct NetSuite entries created automatically
NetSuite — optional
Product catalog
Shopify
Synced from NetSuite where it is the item master
Technical detail

Data flow breakdown

Orders
Shopify → NS

When a Shopify order is placed, a Sales Order or Cash Sale is created in NetSuite — near real time via webhook trigger. Includes line items, quantities, applied discounts, shipping charges, taxes, and payment status. Whether the order becomes a Sales Order or Cash Sale depends on your fulfillment workflow and revenue recognition setup — this is a decision, not a default.

Inventory
NS → Shopify

Available quantity pushes from NetSuite to Shopify on a schedule (typically every 15–30 minutes) or triggered on inventory change. If you run multiple NetSuite locations, a decision is needed on whether Shopify receives aggregate quantity, a preferred-location quantity, or a custom priority rule.

Customers
⇄ Bidirectional

New customers created at Shopify checkout push to NetSuite. NetSuite customer updates push back to Shopify where the data model allows. Guest checkout handling differs from registered accounts and needs explicit configuration.

Fulfillment and tracking
NS → Shopify

When a NetSuite Item Fulfillment is created and marked shipped, the tracking number and carrier data push to Shopify — which triggers Shopify's customer-facing shipping notification. Timing here is visible to end customers.

Refunds
Shopify → NS

Refunds processed in Shopify trigger the appropriate NetSuite entries: credit memo, customer refund, and inventory adjustment if stock is returned. Each is a separate NetSuite transaction that needs to be mapped correctly.

Product catalog
NS → Shopify · Optional

For businesses where NetSuite is the product master, item records sync to Shopify including SKUs, pricing, and descriptions. Keeps product data consistent without maintaining two systems manually.

Where it gets complicated

The hard parts

Celigo's Shopify–NetSuite Integration App handles a well-defined standard scenario well. Most live environments have at least one thing that falls outside that scenario.

01
Cash Sale vs. Sales Order

This isn't a cosmetic choice — it affects your fulfillment workflow, revenue recognition timing, and how returns are processed in NetSuite. Getting it wrong produces correct-looking data that causes accounting problems at month-end.

02
The Shopify GraphQL migration

Shopify deprecated its REST API in early 2025. Any integration built before that date — or using an older connector version — is running on deprecated infrastructure. We build against Shopify GraphQL by default and handle the migration for clients coming from legacy REST-based setups.

03
Multi-location inventory

NetSuite tracks inventory by location. Shopify shows a single available quantity to customers. The rule that maps one to the other — aggregate, preferred location, or custom priority — is a business decision with real implications for overselling risk and fulfillment routing.

04
Shopify Plus B2B

Shopify Plus B2B orders have a different data model than standard DTC orders: company accounts, payment terms, draft orders, and wholesale pricing tiers. The standard integration flows don't handle all of this without custom logic.

05
High-volume spikes

Webhook-triggered flows work well at steady volumes. During a sale or product launch, webhook queues back up and NetSuite's API concurrency limits become a constraint. We build queue management and batching logic for clients where volume spikes are part of the business model.

06
Tax handling

Shopify calculates tax at checkout. NetSuite has its own tax configuration. Mapping tax codes, handling tax-exempt customers, and reconciling tax amounts between systems is routinely the most time-consuming part of the build.

Our approach

How we build it

We use Celigo's Shopify–NetSuite Integration App as the foundation and extend it for your specific requirements.

1
Discovery
Weeks 1–2

Map order workflow, inventory location strategy, and customer data model. Confirm Cash Sale vs. Sales Order. Establish whether Shopify Plus B2B, multi-location, or high-volume handling is in scope.

2
Configuration
Weeks 2–4

Build Celigo flows, field mappings, transformation logic. Custom flows for multi-location rules, B2B order handling, tax mapping, GraphQL migration where needed.

3
Testing
Weeks 4–6

Test with real order data. Edge cases: refunds, partial fulfillments, cancelled orders, inventory adjustments, guest checkout, tax-exempt customers, high-volume batching.

4
UAT & go-live
Weeks 6–8

Client validates end-to-end. Phased cutover with monitoring period. Compresses to 3–5 weeks for standard DTC; extends to 8–10 for Shopify Plus B2B or multi-location.

What you'll need to provide

Shopify admin access, NetSuite admin access, a clear position on Cash Sale vs. Sales Order, and inventory location strategy if running multiple warehouses.

60×
throughput improvement
12k+
records per hour
Youth Athletes United

Was syncing orders across Shopify, Salesforce, and a custom MySQL database at 200 records per hour — not enough for their volume, and requiring manual CSV reconciliation across all three systems. Entech rebuilt the integration on Celigo.

Result: 12,000+ records per hour. All manual CSV reconciliation eliminated. The Shopify REST to GraphQL migration completed before Shopify's deprecation deadline with zero downtime.

Also on Celigo

Related integrations

Running Shopify and NetSuite and still syncing by hand?

Whether you're on a broken connector, a deprecated REST-based integration, or manual CSV exports — tell us what you're working with. We'll tell you what it takes to fix it.

Talk to an integration expert